var myModule = angular.module("MyModule", []);

myModule.directive("superman", function(){
    return {
        scope: {},
        restrict: 'AE',
        controller: function($scope){
            $scope.abilities = [];
            this.addStrength = function(){
                $scope.abilities.push("strength");
            };
            this.addSpeed = function(){
                $scope.abilities.push("speed");
            };
            this.addLight = function(){
                $scope.abilities.push("light");
            };
        },
        link: function(scope, element, attrs){
            element.addClass('btn btn-primary');
            element.bind("mouseenter", function(){
                console.log(scope.abilities);
            });
        }
    };
});
myModule.directive("strength", function(){
    return {
        require: '^superman',
        link: function(scope, element, attrs, supermanCtrl){
            supermanCtrl.addStrength();
        }
    };
});
myModule.directive("speed", function(){
    return {
        require: '^superman',
        link: function(scope, element, attrs, supermanCtrl){
            supermanCtrl.addSpeed();
        }
    };
});
myModule.directive("light", function(){
    return {
        require: '^superman',
        link: function(scope, element, attrs, supermanCtrl){
            supermanCtrl.addLight();
        }
    };
});
